/**
 * Pacote conténdo programa que auxilia na impressão de relatórios
 * Histórico de Usuário.
 */
package relatorio;

import conexao.ConexaoR;
import java.sql.Connection;
import java.util.HashMap;
import javax.swing.JOptionPane;
import net.sf.jasperreports.engine.JRException;
import net.sf.jasperreports.engine.JasperFillManager;
import net.sf.jasperreports.engine.JasperPrint;

/**
 * A classe Repositorio deve ser utilizada para emissão de relatórios. Após a
 * criação de algum relatório é possível exibí-lo na tela, exportá-lo para um
 * arquivo pdf/html ou enviá-lo direto para impressão.
 * A classe manipula relatórios desenvolvidos utilizando-se a ferramenta
 * JasperPrint para emissão dos relatórios.
 *
 * @author Marcelo
 */
public class Repositorio {

    /**
     * Cria um novo Relatorio.
     *
     * @param  con  Conexão com o banco de dados.
     * @param  parametros  Parâmetros a serem exibidos no relatório.

     * JRException  Caso o relatório não seja encontrado ou haja
     * algum problema com ele, uma exceção é gerada.
     */

    public JasperPrint historico(int id) {
        JasperPrint rel = null;
        try {
            Connection con = ConexaoR.getConexao();
            HashMap parametros = new HashMap();
            parametros.put("id", id);
            String arquivoJasper = "historico.jasper";

            /**
             * rel representa o relatório gerado.
             * É criado um JasperPrint a partir de um JasperReport, contendo o relatório preenchido.
             */

            rel = JasperFillManager.fillReport(arquivoJasper, parametros, con);
        } catch (JRException e) {
            JOptionPane.showMessageDialog(null, e.getMessage());
        }
        return rel;
    }
}
